Method for efficiently recording a number of texture images in memory

ABSTRACT

In order to store texture images in a smaller data amount, there is provided a method for recording a texture recording image  28  which contains a number of texture images in a memory to thereby record the images of the number of texture in the memory. In this method, the texture images are arranged on the texture recording image  28  based on the shape information of each texture such that a region not being occupied by the images can be reduced on the texture recording image  28.

This is a continuation of U.S. patent application Ser. No. 09/140,859,filed Aug. 27, 1998, now U.S. Pat. No. 6,411,303.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a texture recording method and acomputer readable medium, and in particular to technology for storing atexture image in a memory of a small capacity.

2. Description of the Related Art

Conventionally, texture mapping technology is known as a method foreasily creating a realistic solid computer graphic image. The term“texture” here means a design drawn on the surface of a solid. An imageprocessing apparatus employing such technology handles data on the shapeof a solid (shape data) and data on the design drawn on the surface ofthe solid (texture image data) separately. That is, initially, theapparatus temporarily places a solid created based on the shape data ina virtual 3D space in a memory, and then maps a texture image onto thesurface of the solid.

A texture image for use in the above texture mapping technology isartificially made by using either computer graphics or a photo image.The thus obtained number of texture images are arranged on a relativelysmall number of texture recording images, and the texture recordingimages are compressed before being stored in a disk device, or the like.

To use the texture images for texture mapping, a compressed texturerecording image is read from the disk device, and decompressed beforebeing loaded into a memory in an image processing board, so that anecessary texture image is extracted from the texture recording imageand mapped to a solid, or a modeling object.

However, the capacity of the memory for the development of a texturerecording image is limited in the image processing board. If the texturerecording image now loaded into the memory does not contain a textureimage desired to be used for mapping, another texture recording imagemust be loaded by being read from a disk device or the like. In thisview, a texture recording image is desired to contain as many textureimages as possible in order to increase the speed of image processingusing texture mapping.

Also, even when the aforementioned image processing board is not used,storing texture images in a small data amount will save the texturerecording image, and increase a data reading speed.

SUMMARY OF THE INVENTION

The present invention has been conceived to overcome the above problemsand aims to provide a texture recording method for recording a textureimage in a smaller data amount, a computer readable medium which recordsa computer program, and a computer readable medium which records atexture recording image for recording texture images using the texturerecording method.

Specifically, the object of the present invention is to provide atexture recording method which makes it possible to record a textureimage in a smaller data amount by containing as many texture images aspossible in a texture recording image through elimination of wastedspace therein, a computer readable medium which records a computerprogram, and a computer readable medium which records a texturerecording image for recording texture images using the texture recordingmethod.

Another object of the present invention is to provide a texturerecording method which makes it possible to record a texture image in asmaller data amount by applying a higher compression rate whencompressing a texture recording image which contains texture images,while maintaining the quality of the texture image, a computer readablemedium which records a computer program, and a computer readable mediumwhich records a texture recording image for recording texture imagesusing the texture recording method.

Still another object of the present invention is to provide a texturerecording method which makes it possible to record a texture image in asmaller data amount by reducing a space between texture images(contained in the texture recording image) without enlarging the size ofthe texture images, a computer readable medium which records a computerprogram, and a computer readable medium which records a texturerecording image for recording texture images using the texture recordingmethod.

In order to achieve the above objects, according to a first aspect ofthe present invention, there is provided a texture recording method forrecording a texture recording image containing images of a number oftextures in a memory to thereby record the images of the number oftextures in the memory, wherein the images of the number of textures arearranged on the texture recording image based on shape information ofeach texture such that a region other than a region occupied by theimages is reduced on the texture recording image.

In general, when a number of texture images are arranged on a texturerecording image to be contained therein, wasted space is inevitablycaused between texture images. However, according to this invention,such wasted space can be reduced by utilizing the shape information suchas the length of a side of a circumscribed rectangle of each texture,the type of shape of each texture (a triangle, a rectangle and so on),and the length of a side of each texture. As a result, more textureimages can be contained in a texture recording image of the same sizecompared to a conventional design, and texture images can be stored in asmaller data amount.

The above arrangement enables high speed reading of a texture image fromtexture recording images. Moreover, more texture images can be loaded ina memory in the image processing board dedicated to texture mapping.This also helps increase an image processing speed.

Note that “a region occupied by the images” may include a necessarymargin region.

Further, in the above texture recording method, the shape information ofeach texture includes information about a shape of a circumscribedrectangle of each texture.

In this invention, information about the shape of a circumscribedrectangle of each texture is used as a part of the shape information.The height and width of a circumscribed rectangle of a texturecorrespond to the maximum height and width of each texture image,respectively. Therefore, the use of such shape information enablesefficient arrangement of a number of texture images on a texturerecording image. That is, when the textures are sorted based on thewidth or height of circumscribed rectangles thereof, the images of thetextures which inscribe rectangles of substantially the same height canbe arranged side by side on a texture recording image. As a result,texture images can be stored in a smaller data amount.

Still further, in the above texture recording method, each texture isturned over or rotated before the image of each texture is arranged onthe texture recording image.

In this invention, a texture is rotated or turned over for reduction ofwasted space to achieve efficient arrangement of texture images on thetexture recording image. This makes it possible to record texture imagesin a smaller data amount.

According to a second aspect of the present invention, there is provideda texture recording method for recording a texture recording imagecontaining images of the number of textures in a memory to therebyrecord the images of the number of textures in the memory, wherein apredetermined texture is transformed into a predetermined shape, and theimage of the transformed texture is arranged on the texture recordingimage.

In this invention, if it is judged for some texture that the imagethereof cannot be efficiently arranged on a texture recording imagebecause of its shape, a 2D affin transformation or the like is appliedto that texture to transform the texture into such a shape that allowseasy and efficient arrangement of the image thereof on the recordingimage before it is actually arranged. Arranging the image of the thustransformed texture on a texture recording image enables furtherreduction of wasted space.

Moreover, when a predetermined texture is transformed into apredetermined shape and arranged on a texture recording image based onthe shape information of the transformed texture, wasted space can bereduced more efficiently.

Further, in the above texture recording method, when the number oftextures includes a triangular texture, the triangular texture istransformed into a right-angled triangle, and the image of thetransformed texture having a shape of a right-angled triangle isarranged on the texture recording image.

In this invention, a triangular texture is transformed into aright-angled triangular texture. Since a space is left outside thehypotenuse of the image of a right-angled triangular texture whenarranged on a texture recording image, which is sufficient to store acongruous right-angled triangular texture, another triangular textureimage can be preferably arranged on the space. This enables moreefficient arrangement of texture images on the texture recording image,and helps record texture images in a much smaller data amount.

Still further, in the above texture recording method, when the number oftextures includes a quadrangular texture, the quadrangular texture istransformed into a rectangular shape, and the image of the transformedtexture having a rectangular shape is arranged on the texture recordingimage.

In this invention, a quadrangular texture is transformed into arectangular texture which can be relatively easily arranged on a texturerecording image without leaving waste space. This makes it possible toarrange texture images on a texture recording image without causingwaste space. Also, when applying a 2D affin transformation or the liketo many quadrangular textures, transformation into a rectangulartexture, which is the most basic shape, can prevent significantdeterioration of image quality.

According to a third aspect of the present invention, there is provideda texture recording method for recording a texture recording imagecontaining images of the number of textures in a memory to therebyrecord the images of the number of textures in the memory, wherein atleast a part of one or more images of the number of textures is arrangedoverlapping with at least a part of the image of another texture havinga larger area.

In this invention, the whole or a part of one texture image is arrangedoverlapping with at least a part of another texture image. That is, apart of one texture image is also used as the image of another smallertexture. With this arrangement, some texture image is read from a partof a larger texture image arranged on a texture recording image.

This makes it possible to record still more texture images on a texturerecording image of the same size compared to a conventional design inwhich each image occupies a unique region on a texture recording image.In other words, more texture images can be recorded in a much smallerdata amount.

According to a fourth aspect of the present invention, there is provideda texture recording method for recording a texture recording imagecontaining images of the number of textures in a memory to therebyrecord the images of the number of texture in the memory, whereininformation is recorded in a region other than a region occupied by theimages of the number of textures on the texture recording image, theinformation being determined based on pixel information of a texturearranged near the region.

Conventionally, since the image on a region surrounding a texture imageis discontinuous with the texture image, the spatial frequency tends tobe relatively high. In this invention, since such a surrounding regionis supplied with pixel based on information regarding the adjacenttexture images, spatial correlation can be enhanced in the texturerecording image. As a result, when a texture recording image containinga texture image is subjected to image compression including anorthogonal transformation, such as Discrete Cosine Transform (DCT), ahigher compression rate can be applied without significant deterioratingthe quality of texture images. This makes it possible to record a numberof texture images in a much smaller data amount.

According to a fifth aspect of the present invention, there is provideda texture recording method for recording a texture recording imagecontaining an image of a texture which expresses a part of a modelingobject in a memory, wherein an image of a region around the part of themodeling object is recorded in a region around the image of the textureon the texture recording image.

Conventionally, when displaying a texture image read from a texturerecording image, the displayed image tends to become blurred at thejoint with other texture images partly because pixel information about aregion surrounding the texture image may also be read by calculationerror and displayed.

As a method to avoid the above, each texture image is arranged on atexture recording image, having a slightly larger size than its originaltexture to comprise more pixels, so that calculation error, if itoccurs, will not adversely affect the displayed image. However, thismethod is problematic in that it increases a data amount for recording atexture image.

According to the present invention, a region around a texture image on atexture recording image is given an image of a region around the partcorresponding to the texture image of a modeling object. Thisarrangement can solve the above problem without significantly increasinga data amount. That is, even if the pixel information about a regionaround an aimed texture image is read by calculation error anddisplayed, since the image of the modeling object is also displayed forthe mistakenly read region, the entire displayed image does not becomesignificantly blurred. Also, the use of a surrounding region of atexture image to store pixel information will not cause a significantincrease in the data amount because the surrounding region is originallyused as a margin. With the above arrangement, it is possible to preventa displayed image from becoming blurred while suppressing a significantincrease in the data amount.

In addition to the above method, the present invention also relates to acomputer readable medium which stores a program for having a computeruse the aforementioned method. The use of such a computer readablemedium can achieve similar advantages to those described above.

According to a sixth aspect of the present invention, there is provideda computer readable medium recording a texture recording imagecontaining images of a number of textures, wherein the images of thenumber of textures are arranged on the texture recording image based onshape information of each texture such that a region other than a regionoccupied by the images is reduced on the texture recording image.

In general, when a number of texture images are arranged on a texturerecording image to be contained therein, waste space is inevitablycaused between texture images. However, according to this invention,such waste space can be reduced by utilizing the shape information suchas the length of a side of a circumscribed rectangle of each texture,the type of shape of each texture (a triangle, a rectangle and so on),and the length of a side of each texture. As a result, more textureimages can be contained in a texture recording image of the same sizecompared to a conventional design, and texture images can be stored in asmaller data amount.

The above arrangement enables high speed reading of a texture image fromtexture recording image. Moreover, more texture images can be loaded ina memory in the image processing board dedicated to texture mapping.This also helps increase an image processing speed.

Further, in the above computer readable medium, the shape information ofeach texture includes information about a length of one side of acircumscribed rectangle of each texture, so that the images of thenumber of textures are arranged on the texture recording image based onthe length of one side of the circumscribed rectangle.

On a texture recording image recorded in a computer readable medium ofthis invention, texture images are arranged continuous to adjacent onesby utilizing the information about the length of one side of thecircumscribed rectangle of each texture. Since the length of a side of acircumscribed rectangle represents a substantial size of a texture,texture images in the substantially same size can be arrangedcollectively on a texture recording image based on the length of oneside of a circumscribed rectangle used as a reference. With the above,more texture images can be recorded in a texture recording image.

Moreover, texture images can be further efficiently arranged on atexture recording image through an arrangement in which a circumscribedrectangle of each texture is defined such that one side thereof containsone side of that texture, and placed such that one side thereof issubstantially parallel to that of another texture.

Still further, in the above computer readable medium, the number oftextures include triangular textures, and some of them are arranged onthe texture recording image such that a vertex thereof having thesmallest angle points in a first direction. Moreover, substantially thesame number of triangular textures as the above are arranged on thetexture recording image such that a vertex thereof having the smallestangle points in a second direction which is substantially opposite tothe first direction.

Note that “direction which is substantially opposite” includes“direction directly opposite”, and “substantially the same number”includes “the exact same number”. The above makes it possible to arrangemore texture images on a texture recording image while effectivelyutilizing the shape information about the texture images.

According to a seventh aspect of the present invention, there isprovided a computer readable medium recording a texture recording imagecontaining images of a number of textures, wherein an image of a texturetransformed into a predetermined shape is recorded on the texturerecording image.

In this invention, if it is judged for a texture that the image thereofcannot be efficiently arranged on a texture recording image because ofits shape, a 2D affin transformation or the like is applied to thattexture to transform the texture into a shape that allows easy andefficient arrangement of the image thereof on the recording image beforethe image thereof is actually arranged. This makes it possible toarrange more texture images on a texture recording image.

According to an eighth aspect of the present invention, there isprovided a computer readable medium recording a texture recording imagecontaining images of a number of textures, wherein at least a part ofone or more images of the number of textures is arranged overlappingwith at least a part of the image of another texture having a largerarea.

In this invention, a texture image is read from a part of another largertexture image contained in a texture recording image. This makes itpossible to record more texture images in a smaller data amount.

According to a ninth aspect of the present invention, there is provideda computer readable medium recording a texture recording imagecontaining images of a number of textures, wherein information isrecorded in a region other than a region occupied by the images of thenumber of textures on the texture recording image, the information beingdetermined based on pixel information of a texture arranged near theregion.

According to the present invention, when a texture recording imagecontaining a texture image is subjected to image compression includingan orthogonal transformation, such as Discrete Cosine Transform (DCT), ahigher compression rate can be applied without significant deterioratingthe quality of texture images. This makes it possible to record a numberof texture images in a much smaller data amount.

Note that the term “a computer readable medium recording a texturerecording image” used in this specification includes not only a computerreadable medium which records a texture recording medium in the form ofbit map data but also that which records a texture recording mediumsubjected to any data transformation, such as compression.

According to a tenth aspect of the present invention, there is provideda computer readable medium recording a texture recording imagecontaining an image of a texture which expresses a part of a modelingobject, wherein an image of a region around the part of the modelingobject is recorded in a region around the image of the texture on thetexture recording image.

According to the present invention, even if the pixel information abouta region around an aimed texture image is read by calculation error anddisplayed, since the image of the modeling object is also displayed forthe mistakenly read region, the displayed image does not becomesignificantly blurred. Also, the use of a surrounding region of atexture image to store pixel information will not cause a significantincrease of a data amount because the surrounding region is originallyused as a margin. With the above arrangement, it is possible to preventa displayed image from becoming blurred while suppressing a significantincrease in the data amount.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and the other objects, features, and advantages of the presentinvention, will become further apparent from the following descriptionof the preferred embodiment taken in conjunction with the accompanyingdrawings wherein:

FIG. 1 is a diagram showing a structure of an apparatus for carrying outa texture recording method according to a preferred embodiment of thepresent invention;

FIG. 2 is a diagram schematically showing the information recorded in atexture vertex data base;

FIG. 3A is a diagram showing three vertexes of an original textureimage;

FIG. 3B is a diagram for explaining a reference vertex coordinate;

FIG. 4 is a diagram for explaining arrangement of a texture image on atexture recording image according to the preferred embodiment of thepresent invention;

FIG. 5 is a diagram for explaining arrangement of a texture image on atexture recording image according to the preferred embodiment of thepresent invention;

FIG. 6 is a diagram for explaining the processing by a blank regionprocessing section;

FIG. 7 is a flowchart for explaining a first rearrangement processing;

FIG. 8 is a diagram indicating a circumscribed rectangle of a texture;

FIG. 9 is a flowchart for explaining a second rearrangement processing;

FIG. 10 is a flowchart for explaining the second rearrangementprocessing;

FIG. 11 is a diagram for explaining discrimination of an upwardtriangular texture and a downward triangular texture;

FIG. 12 is a diagram for explaining a part of the second rearrangementprocessing;

FIG. 13 is a diagram for explaining a part of the second rearrangementprocessing;

FIG. 14 is a flowchart for explaining normalization for a texture image;

FIG. 15 is a flowchart for explaining normalization for a texture image;

FIG. 16 is a flowchart for explaining texture matching by a matchingsection; and

FIG. 17 is a diagram for explaining processing by the matching section.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, a preferred embodiment of the present invention willbe described with reference to the accompanying drawings. The followingdescription which mainly concerns a texture recording method will alsoclarify a preferred embodiment of a computer readable medium whichrecords a texture image using this method.

1. Structure

Referring to FIG. 1, showing the structure of an apparatus for carryingout a texture recording method of this invention, the apparatuscomprises a texture information output section 10, a texture originalimage storage section 12, a texture vertex data base 14, a rearrangementsection 16, a matching section 18, a memory section 20, a blank regionprocessing section 22, a texture image storage section 24, and a texturevertex storage section 26.

The texture information output section 10 includes a CCD camera and aturn table for carrying a modeling object. The section 10 outputsinformation of a texture image which expresses a modeling object, andvertex coordinates of the texture image (a pixel position of a textureimage) which are calculated using a known operation based on an imagetaken by the CCD camera and the turn angle of the turning table.

The texture original image storage section 12 stores the texture imageoutputted by the output section 10.

The texture vertex data base 14 temporarily stores vertex coordinates ofeach texture image, and also stores the information obtained by therearrangement section 16 and the matching section 18.

Here, the contents of the texture vertex data base 14 will be describedin detail.

Referring to FIG. 2 showing the content of the texture vertex data base14 schematically illustrated in the form of a table, the data base 14stores a texture number 14 a, an original vertex coordinate 14 b, anoriginal image number 14 c, a reference vertex coordinate 14 d, anarranged vertex coordinate 14 e, a matched texture number 14 f, atexture recording image number 14 g, and a matching vertex coordinate 14h. These data are stored corresponding to one another.

The texture number 14 a column stores ID numbers for identifying anumber of textures supplied by the texture information output section10.

The original vertex coordinate 14 b column stores 2D positionalcoordinates of each texture image, which define the position of eachtexture image which is arranged on an image stored in the textureoriginal image storage section 12.

Specifically, the original vertex coordinate 14 b column storescoordinates of the three vertexes of a texture image in this embodimentas each texture is rectangular in this case.

Referring to FIG. 3A showing an example of a texture image contained inan image stored in the storage section 12, the image in the storagesection 12 has a region storing a texture image and a region storingother images. The apparatus of this invention sets an X-Y coordinatesystem on the image so that a texture image contained therein can beextracted therefrom by utilizing vertex coordinates in this X-Ycoordinate system. Therefore, the three vertex coordinates of a textureimage stored in the original vertex coordinate 4 b column are expressedbased on the X-Y system. Data in the column 4 b uses an integer toindicate a pixel position in the image data stored in the storagesection 12.

The original image number 14 c column stores an ID number of the imagestored in the storage section 12, e.g., the name of a file which storesa texture image.

The reference vertex coordinate 14 d column stores vertex coordinates ofa texture image which are actually used by the rearrangement section 16.Here, if the data on vertex coordinates supplied from the output section10 and stored in the original vertex coordinate 14 b column is usedintact for texture rearrangement (described later) by the rearrangementsection 16, the rearranging processing would become complicated, becausethe three vertexes may have any positional relationship in the data, asshown in FIG. 3A. In order to simplify the rearranging processing, inthis apparatus, the vertex coordinates stored in the original vertexcoordinate 14 b column are processed in a predetermined congruenttransformation into reference vertex coordinates as shown in FIG. 3B,and the resultant reference vertex coordinates are stored in thereference vertex coordinate 14 d column. Note that the X′-Y′ coordinatesystem shown in FIG. 3 is set for every texture.

As will be obvious from FIGS. 3A and 3B, three vertexes of a textureimage maintain the same relative positional relationship before andafter the transformation. After the transformation, the upper leftvertex of the texture is set at the origin of the X′-Y′ coordinate. Oneof the other vertexes of the texture is set on the Y′ axis, and theremaining one vertex is positioned in the first quadrant of the X′-Y′coordinate system. In this method, the second longest side of the threesides of a texture is set overlapping with the Y′ axis (describedlater).

When normalization (described later) is applied, vertex coordinatesafter normalization can be used as reference vertex coordinates, whichare thus stored in the reference vertex coordinate 14 d column.

The arranged vertex coordinate 14 e column stores the three vertexcoordinates defining a position of each texture image to be arranged ona texture recording image 28 stored in the texture image storage section24 and, specifically, stores data outputted by the rearrangement section16. Note that, referring to FIG. 4 or 5, the vertex coordinates storedin the arranged vertex coordinate 14 e column are expressed based on anX″-Y″ coordinate system which is set on every texture recording image28.

The texture recording image number 14 g column stores an ID number (afile name) of a texture recording image 28 on which a texture image isarranged.

If the image of a texture with an ID number stored in the column 14 amatches to a part of the image of another texture, in other words, ifone texture has high similarity or is highly coincident with a part ofanother texture, the ID number of the latter texture, or a matchedtexture, is stored in the matched texture number 14 f column.

The matching vertex coordinate 14 h column stores information to specifya matching position in a matched texture image based on a referencevertex system, i.e., information about a position in the image of amatched texture. Specifically, the matched texture number 14 f column,the texture recording image number 14 g column, and the matching vertexcoordinate 14 h column store information outputted from the matchingsection 18.

Take as a matching example the case shown in FIG. 2 in which the(n−1)^(th) texture matches to a region defined by points V₁ ^((n−1)′″),V₂ ^((n−1)′″), V₃ ^((n−1)′″) in the image of the 2^(nd) texture. Theimage of the (n−1)^(th) texture is not stored in the texture imagestorage section 24 (described later), and instead the defined region inthe image of the 2^(nd) texture is read as the image of the (n−1)^(th)texture for use in texture mapping.

Referring again to FIG. 1, the memory section 20 calculates atransformation matrix for 2D affin transformation between the datastored in the original vertex coordinate 14 b column and the arrangedvertex coordinate 14 e column based on the data stored in the column 14b, 14 e.

The memory section 20 then determines which part of the image stored inthe storage section 12 is to be stored in the texture image storagesection 24. That is, conventionally, only a region corresponding to atexture of the image in the texture original image storage section 12 isstored in the texture image storage section 24. According to the methodof the present invention, on the other hand, a region surrounding thetexture image region is also stored, together with the texture imageregion, in the texture image storage section 24, so that the section 24stores an image that is slightly larger for each texture. Then, only thetexture image region out of this slightly larger texture image isgenerally read for use in texture mapping. However, if a calculationerror occurs, the image on the surrounding region of the texture imageregion is also read and displayed. With this arrangement, the relevanttexture can be easily reproduced as a clear displayed image withoutcausing a blurred part at the joint with other texture in spite of acalculation error.

After the determination of the part to be read, the memory section 20actually reads the determined part, i.e., a texture image and the imageon the surrounding region thereof, from the texture original imagestorage section 12, and calculates the coordinates of a position wherethe texture image and the surrounding image are stored on the texturerecording image 28 in the texture image storage section 24, using theaforementioned transformation matrix. The memory section 20 then loadsthe images to the calculated position on the texture recording image 28identified by an ID number recorded in the texture recording imagenumber 14 g column, and loads the texture vertexes storage section 26with respective three vertex coordinates of a number of textures storedin the texture image storage section 24 together with the ID number ofthe texture recording image 28 recorded in the texture recording imagenumber 14 g column.

The blank region processing section 22 stores a region interveningbetween a number of texture images on the texture recording image 28,i.e., a region which stores nothing, with predetermined pixelinformation. That is, a blank region between texture images on a texturerecording image 28 is given pixel information based on the informationof the pixels contained in the texture images to thereby improve spatialcorrelation of the texture recording image 28. Specifically, an averagecolor of the colors given to the sides of adjacent textures images isobtained, and given to the region between the sides. Alternatively,referring to FIG. 6, when a texture recording image 28 contains a numberof texture images including adjacent texture images 30 a and 30 b with ablank in between, the pixels in the intervening region are given a colorsuch that the color tone varies gradually based on the colors given tothe points 34 a, 34 b respectively on the opposing two sides of thetexture images 30 a, 30 b having the same X″ or Y″ axial coordinate.This arrangement makes it possible to improve spatial correlation of thetexture recording image 28, and to increase a compression rate appliedin a compression method including an orthogonal transformation.

2. First Rearrangement

Next, first rearrangement processing by the rearrangement section 16will be described.

Referring to FIG. 7 showing a flowchart for explaining the rearrangingprocessing by the rearrangement section 16, the rearrangement section 16reads vertex coordinates of each texture from the original vertexcoordinate 14 b column in the data base 14 (S101). The rearrangementsection 16 then calculates the length of each side of the texture usingthe vertex coordinates, and determines the second longest side thereof(S102).

Subsequently, the section 16 transforms the three vertex coordinates ofthe texture such that the second longest side of the texture falls onthe Y′ axis of an X′-Y′ coordinate system, as shown in FIG. 3B (S103).With the transformation, the upper left vertex of the circumscribedrectangle of the texture is set on the origin of the texture plane here,and other vertexes are set in the first quadrant of the X′-Y′ coordinatesystem. The three thus calculated vertex coordinates are stored in thereference vertex coordinate 14 d column.

The rearrangement section 16 next calculates the height h and width w ofthe circumscribed rectangle of each texture (S104). Note that, referringto FIG. 8, a circumscribed rectangle 36 is defined such that one sidethereof contains the second longest side of the texture, and theopposing side contains the vertex of the texture other than those at theends of the second longest side.

The above process at S102 to S104 is conducted with respect to all ofthe textures supplied from the texture information output section 10(S105). Based on the height or width of a circumscribed rectangle 36 ofeach texture, all textures are numbered in the order of a larger heighth of a circumscribed rectangle 36. Specifically, the texture numbers inthe column 14 a are sorted so as to be arranged in the order of a largerheight h of a circumscribed rectangle 36. Textures with circumscribedrectangles of the same height h are sorted again based on the width w ofthe circumscribed rectangles 36. The above sorting results insequentially arranging all textures according to their sizes. Note that,although the textures with circumscribed rectangles having the sameheight h are sorted again based on the width w in the above, textureswith circumscribed rectangles having a height h in a predetermined rangemay be sorted based on the width w.

Then, the rearrangement section 16 calculates the coordinates of aposition where each texture image is arranged on a texture recordingimage 28 (arranged vertex coordinate 14 e) based on the data in thetexture number 14 a column and the reference vertex coordinate 14 dcolumn of the data base 14.

More specifically, coordinates of an arranged vertex are determined suchthat, as shown in FIG. 4, texture images are sequentially arrangedaccording to the sorted texture numbers 14 a on a texture recordingimage 28 along the X′ axis of an X″-Y″ system while leaving a marginbetween adjacent textures.

After having arranged a texture at the rightmost part of the texturerecording image 28, the value for the Y″ axis of an arranged vertexcoordinate 14 e is increased so as to ensure a predetermined margin inthe direction of the Y″ axis before resuming sequential arrangement oftextures from the left to right side on the texture recording image 28.

In the above, the texture recording image in use is given an ID number.The obtained vertex coordinates of each texture and the ID number of thetexture recording image 28 are stored in the arranged vertex coordinate14 e column and the texture recording image number 14 g column,respectively.

With the above processing, a number of texture images can be easily andefficiently arranged on a texture recording image 28 by utilizing theinformation indicative of the height h or width w of a circumscribedrectangle of each texture.

3. Second Rearrangement

Referring again to the flowchart of FIG. 7, the process at S107 may bereplaced by a different process to conduct different rearrangementprocessing.

Referring to FIGS. 9 and 10, showing a flowchart for explaining a secondrearrangement processing by the rearrangement section 16, variables“flag”, “curr_y”, “curr_x”, and “max_h” are temporarily stored in aworking memory (not shown).

In the second rearrangement processing, two textures in the same orsubstantially same size are paired when arranged on a texture recordingimage. The variable “flag” indicates whether an object texture is aleft-side or right-side texture of paired textures. A variable “flag”with 0, or flag=0, indicates a left-side texture, while a variable“flag” with 1, or flag=1, indicates a right-side texture. The variable“curr_y” indicates the value of the Y″ axis in an X″-Y″ coordinatesystem set on the texture.recording image 28, while the variable“curr_x” indicates the value of the X″ axis. The variables “curr_y” and“curr_x” are used as reference in arranging a current object texture (acurrent rearrangement object) on a texture recording image 28.

In operation, referring to FIG. 9, the variable “flag” is initialized to0 (S201). The variable “curr_y” is initialized to a value of apre-defined SIDE_MARGIN (S202), and the variable “curr_x” is initializedto a value of a pre-defined SIDE_MARGIN (S203). Then, the rearrangementsection 16 obtains three reference vertex coordinates of a texture fromthe reference vertex coordinate 14 d column in the data base 14, andcalculates the height h and width w of the circumscribed rectangle 36 ofthe texture.

Subsequently, the rearrangement section 16 detects whether or not thefollowing expression is held (S205).

 curr_(—) y+h<IMAGE_HEIGHT−SIDE_MARGIN  (1)

wherein IMAGE_HEIGHT indicates the height of a texture recording image28. If this expression is not held, it is known that no more textureimage can be arranged (recorded) in that texture recording image 28. Therearrangement section 16 therefore starts rearrangement processing usingthe next texture recording image 28 (S206).

On the other hand, if the expression is held at S205, the rearrangementsection 16 then detects whether or not the variable “flag” is 0 (S207).If flag=0, the rearrangement section 16 judges that the current objecttexture is a left-side texture and then detects whether or not thefollowing expression is held (S208).

curr_(—) x+h<IMAGE_WIDTH−SIDE_MARGIN  (2)

wherein IMAGE_WIDTH indicates the width of a texture recording image 28.If this expression is not held, it is known that no further textureimage can be arranged (recorded) in that line (a region corresponding tothe same curr_y, and this is similarly applied in the following) on thattexture recording image 28. Therefore, the values of the variables“curr_y”, “max_h”, and “flag” are updated according to the nextexpressions (S209).

curr_(—) y=curr_(—) y+max_(—) h+MARGIN

max_(—) h=0

flag=0  (3)

Returning to S208, if the expression is held, the rearrangement section16 begins rearrangement processing with respect to the left-side texture(S210 in FIG. 10). Specifically, vertex coordinates of a position wherethe light-side texture is to be rearranged on a texture recording image28 are calculated according to the following expressions.

X 1′=X 1+curr_(—) x

X 2′=X 2+curr_(—) x

X 3′=X 3+curr_(—) x

Y 1′=Y 1+curr_(—) y

Y 2′=Y 2+curr_(—) y

Y 3′=Y 3+curr_(—) y  (4)

After the above, the rearrangement section 16 updates the value of the“curr_x” for rearrangement of the next texture.

curr_(—) x=curr_(—) x+w+MARGIN  (5)

The section 16 then returns the value of “flag” to 1 (S211) in order totemporarily load a working memory with the information that the nexttexture is a right-side texture. Then, if the height h of thecircumscribed rectangle 36 of the current object texture is higher than“max_h” which is temporarily stored in a working memory (not shown), therearrangement section 16 loads the working memory with the height h ofthe circumscribed rectangle 36 of the current object texture as new“max_h” to thereby update the maximum height of the circumscribedrectangles 36 of the textures arranged in a region corresponding to thesame “curr_y” (S212).

The above process at S204 to S212 is repeated until all textures areprocessed (S213).

Returning to S207, if flag≠0, the rearrangement section 16 judges thatthe current object texture could be a right-side texture. The section 16then detects whether or not the current object texture belongs to adifferent class, in terms of height and width, to that of theimmediately preceding texture (S214). If it does, or YES in s214, thecurrent object texture is judged as a left-side texture, and the processat S208 and after is carried out.

On the other hand, if it does not, or NO at S214, the current objecttexture is judged as a right-side texture, and the rearrangement section16 carries out calculation for rearrangement of this texture (S215).That is, whether or not the left-side and right-side textures are bothupward or downward textures is detected. Specifically, referring to FIG.11, if Y₃≧(Y₁+Y₂)/2 is held, that texture is judged as a downwardtexture. On the other hand, if Y₃<(Y₁+Y₂)/2 is held, that texture isjudged as an upward texture.

If the left-side and right-side textures are both upward textures, asshown in FIG. 12(a), or both downward textures, the right-side textureis turned over and upside-down. If the left-side texture is an upwardtexture and the right-side texture is a downward texture, or vice versa,the rearrangement section 16 only turns over the right-side texture.

After the above, the rearrangement section 16 conducts the secondrearranging calculation with respect to the right-side texture (S216).

Here, referring to FIG. 13 for explaining rearrangement processing of aright-side texture, the (n−1)^(th) texture is a left-side texture havingvertexes V₁ ^((n−1)), V₂ ^((n−1)), V₃ ^((n−1)), while the n^(th) textureis a right-side texture having vertexes V₁ ^((n)), V₂ ^((n)), V₃ ^((n)).By the start of the second rearranging processing, the left-side andright-side textures have been positioned, as a result of the turn-overat S215, such that the third vertex V₃ ^((n−1)) of the left-side textureopposes the third vertex V₃ ^((n)) of the right-side texture. With theleft-side and right-side textures positioned as such, it is calculatedhow close the right-side texture can be translated toward the left-sidetexture in the X″ axis direction. The distance by which the right-sidetexture is translated toward the left-side texture is referred to as atranslation distance d. Also, when a line segment connecting thevertexes V₂ ^((n−1)) and V₃ ^((n−1)) of the left-side texture is denotedas l^((n−1)), and that connecting the vertexes V₁ ^((n)) and V₃ ^((n))of the left-side texture is denoted as l^((n)), a distance by which theline segment l^((n)) can be translated toward the left-side texture inthe X″ axis direction until an end point of either the line segmentl^((n−1)) or l^((n)) reaches the other line, is calculated. Providingthat the distance is denoted as D, D-MARGIN corresponds to thetranslation distance d to be obtained here.

After the translation distance d is calculated, the rearrangementsection 16 detects whether or not the following expression is held(S217).

curr_(—) x−d+w<IMAGE_WIDTH−SIDE_MARGIN  (6)

If it is, it is known that there is enough space left in the currentline on the texture recording image 28 to record a right-side texture.Therefore, the rearrangement section 16 rearranges the right-sidetexture in the remaining space (S218). Specifically, vertex coordinatesof a position where the right-side texture is to be rearranged arecalculated according to the following expressions.

X 1′=X 1−d+curr_(—) x

X 2′=X 2−d+curr_(—) x

X 3′=X 3−d+curr_(—) x

Y 1′=Y 1+curr_(—) y

Y 2′=Y 2+curr_(—) y

Y 3′=Y 3+curr_(—) y  (7)

Subsequently, the rearrangement section 16 calculates the value of“curr_x” according to the following expression to update the referencefor rearrangement of the next texture, and stores a working memory withthe value.

curr_(—) x=curr_(—) x+w−d+MARGIN  (8)

After the above, the rearrangement section 16 returns the value of“flag” to 0 (S219) for temporarily loading a working memory with theinformation that the next texture is a left-side texture, which isobvious because a right-side texture has already been rearranged on thetexture recording image 28 at S218. The rearrangement section 16 alsoupdates the value of “max_h” (S212) before repeating the aboverearrangement processing with respect to the next texture (S213).

Returning to S217, if the expression is not held, variables “curr_y”,“max_h”, and “flag” are updated according to the following expressions(S220) before conducting rearrangement processing with respect to thenext texture.

curr_(—) y=curr_(—) y+max_(—) h+MARGIN

max_(—) h=0

flag=0  (9)

With the aforementioned processing in which two textures ofsubstantially the same size are paired and arranged as close as possibleto each other by utilizing texture shape information, still more textureimages can be arranged on a texture recording image 28.

4. Texture Normalization

The process at S218 in the second rearrangement processing may bereplaced by the following processing. This processing is particularlyeffective when the translation distance d is too small to efficientlyarrange relevant left-side and right-side texture images on a texturerecording image 28. In such a case, the left-side and right-sidetextures are transformed into a predetermined shape (normalization) tobe efficiently arranged on the texture recording image 28.

Referring to FIG. 14 showing a flowchart for explaining normalizationprocessing, the rearrangement section 16 initially makes judgement fornormalization (S301). Specifically, whether or not the followingexpression is held is detected based on the width of the right-sidetexture which was calculated at S204 in FIG. 9, and the translationdistance d also calculated at S216 in FIG. 10.

w−d>THRw  (10)

wherein THRw is a desired judgement reference value. If it is held,normalization processing proceeds. That is, when the line segmentl^((n−1)) of the left-side texture is set parallel to the line segmentl^((n)) of the right-side texture, as shown in FIG. 13, the translationdistance d for these textures is equal to the length of one side of thecircumscribed rectangle 36, or w, and the right-side texture can then betranslated closest to the left-side texture. However, if the value (w−d)exceeds a threshold THRw, it is judged that the right-side texturecannot be translated closely enough to the left-side texture. In such acase, normalization is applied so that the right-side texture can betranslated closer to the left-side texture.

At S302, the texture image storage section 16 determines a size fornormalization, or a size into which left-side and right-side texturesare to be transformed through normalization. The size can be determinedby substituting the height h and width w of the circumscribed rectangles36 of the left-side and right-side textures into the followingexpressions.

w _(n)=(INT)((w _(l) +w _(r))/2)/N _(step)+0.5)xN _(step)

h _(n)=(INT)((h _(l) +h _(r))/2)/N _(step)+0.5)xN _(step)  (11)

wherein w_(l) is the width of the circumscribed rectangle 36 of aleft-side texture, w_(r) is the same of a right-side texture, w_(n) isthe same of a normalized texture, h_(l) is the height of thecircumscribed rectangle 36 of a left-side texture, h_(r) is the same ofa right-side texture, hn is the same of a normalized texture, andN_(step) is a normalizing step so as to give the normalized texturesdiscrete size. The circumscribed rectangle of a normalized texture willbe hereinafter referred to as a normalized rectangle.

It should be noted that although the size of a texture afternormalization is determined using the averaged width of thecircumscribed rectangles of the left-side and right-side textures in theabove, either the left-side or right-side texture may be solely used asa reference.

Then, the rearrangement section 16 executes normalization with respectto the left-side and right-side textures (S303) i.e., the section 16determines vertex coordinates of the textures after normalization.Specifically, for a left-side texture which is, for example, an upwardrectangular texture having vertexes V₁, V₂, V₃, the vertex V₁ is set onthe upper left vertex of the normalized rectangle 38 which has the widthw_(n) and height h_(n) as determined at S302; the vertex V₂ is set onthe lower left vertex thereof; and the vertex V₃ is set on the upperright vertex thereof. Similarly, for a right-side texture which is adownward rectangular texture having vertexes V₁, V₂, V₃,the vertex V₁ isset on the upper right vertex of the normalized rectangle; the vertex V₂is set on the lower right vertex thereof; and the vertex V₃ is set onthe lower left vertex thereof. The upper left vertex of the normalizedrectangle 38 is then set on the origin of the texture coordinate systemsuch that two sides thereof are placed matching to the respectivecoordinate axes. In this way, arranged vertexes coordinates V′₁, V′₂,V′₃ after normalization are calculated, and stored in the referencevertex coordinate 14 d column to thereby replace the data originallystored in the column 14 d.

Then, based on the calculated, normalized vertex coordinates V′₁, V′₂,V′₃, the normalized left-side and right-side textures are arranged onthe texture recording image 28 (S304). In this processing, variables“curr_x” and “curr_y” are set at the values which were used in theprocessing for the left-side texture, and vertex coordinates of aposition where the normalized left-side texture are arranged on thetexture recording image 28, are calculated according to the followingexpressions.

X _(l1) ′=X _(l1)+curr_(—) x

X _(l2) ′=X _(l2)+curr_(—) x

X _(l3) ′=X _(l3)+curr_(—) x

Y _(l1) ′=y _(l1)+curr_(—) y

Y _(l2) ′=y _(l2)+curr_(—) y

Y _(l3) ′=y _(l3)+curr_(—) y  (12)

Similarly, vertex coordinates for the right-side texture are calculatedaccording to the following expressions.

X _(r1) ′X _(r1)+curr_(—) x+MARGIN

X _(r2) ′X _(r2)+curr_(—) x+MARGIN

X _(r3) ′X _(r3)+curr_(—) x+MARGIN

Y _(r1) ′y _(r1)+curr_(—) y

 Y _(r2) ′y _(r2)+curr_(—) y

Y _(r3) ′y _(r3)+curr_(—) y  (13)

Subsequently, the rearrangement section 16 updates the value of “curr_x”according to the following expression to thereby update a reference forrearrangement of the next object texture on the texture recording image28.

curr_(—) x=curr_(—) x+W _(n)+MARGIN×2  (14)

Through the above texture normalization, left-side and right-sidetextures which are paired as a result of the first rearrangement can berearranged closer to each other, so that still more textures can berecorded on the texture recording image 28.

Also, after the normalization, the line segment l^((n−1)) of theleft-side texture is resultantly set parallel to the line segmentl^((n)) of the right-side texture because right-side and left-siderectangular textures were transformed into rectangular texturesinscribing identical rectangles 38 in normalization. This makes itpossible to get the right-side and left-side textures as close aspossible to each other. That is, the translation distance d of aright-side texture can be set equal to the width w_(n) of the normalizedrectangle. In other words, left-side and right-side textures can bearranged efficiently on a texture recording image 28 throughtransformation into congruous right-angled triangles.

It should be noted that distortion should be kept to a minimum innormalizing textures. For example, many rectangular textures arepreferably transformed into a common shape of a rectangular equilateraltriangle, and many quadrangular textures are preferably transformed intoa common shape of a rectangular, such as, square texture. Further, anormalization size is preferably determined closer to the original sizeof a texture. To do so, a number of normalization object textures arepreferably classified into groups according to the size so thatnormalization size is determined for every group.

5. Rearrangement Utilizing Texture Matching

In the above processing, at least one texture image is arranged on atexture recording image 28 so as to overlap with a part of anotherlarger texture image. The overlapping is handled by the matching section18.

Referring to FIG. 16 showing a flowchart for explaining matchingprocessing, the matching section 18 reads reference vertex coordinatesof each texture image from the reference vertex coordinate 14 d column,and then reads a texture image from the texture original image storagesection 12 (S401).

The matching section 18 then determines a matching object texture(S402). Specifically, in the case that the texture numbers 14 a arearranged in order, for example, according to the height and width ofcircumscribed rectangles 36 as a result of the first rearrangementprocessing, a texture with a larger texture number 14 a, i.e., a texturein a relatively small size, should be initially selected as a matchingobject texture.

After a matching object texture is determined, the matching section 18has the image of the selected matching object texture matched to a partof the image of another texture (a matched texture) (S403).Specifically, the matching section 18 starts selection of a matchedtexture beginning with a texture with a smaller ID number stored in thedata base 14, i.e., a texture in a relatively large size. To determinean appropriate matched texture, a total error or the like of the pixelvalues of a matching object texture and corresponding pixel values of amatched texture is calculated so as to see whether or not the resultantvalue is below a threshold. If it is, it is known that the matchingobject texture has high similarity or is highly coincident with theselected texture, and therefore the image of the selected texture ispartly used also as the image of the matching object texture.

Then, the matching section 18 loads the matched texture number 14 fcolumn with the number of the texture which was detected at S403 asbeing highly coincident with the matching object texture, and loads thematching vertex coordinate 14 h column with reference coordinates in areference vertex system of the three points defining a positioncorresponding to the image of the matched object texture in the matchedtexture image (S404).

After the above, the memory section 20 performs a writing operation withrespect to the texture image storage section 24 and the texture vertexstorage section 26 based on the data in the columns 14 f and 14 h.Specifically, with respect to a texture which has data in columns 14 f,14 h, the memory section transforms the reference vertex coordinatesrecorded in the matching vertex coordinate 14 h column through a 2Daffin transformation, and writes the resultant vertex coordinates intothe texture vertex storage section 26. The storage section 20 does notwrite the texture image stored in the texture original image storagesection 12 into the texture image storage section 24. Note that the 2Dtransformation given here is identical to that given to a relevantmatched texture, i.e., a texture with an ID number stored in the matchedtexture number 14 f in connection with the matching object texture.

With the above processing, one texture image can also be partly used asthe image of another smaller texture. This makes it possible to recordstill more texture images on a texture recording image 28.

In a modified example of the above processing, a part of at least onetexture image may be arranged overlapping with a part of the image ofanother texture in a larger size.

What is claimed is:
 1. A texture recording method for recording atexture recording image containing images of a number of textures in amemory to thereby record the images of the number of textures in thememory, wherein the images of the number of textures are arranged on thetexture recording image based on shape information of each texture suchthat a first region other than a second region, occupied by the images,is reduced on the texture recording image, each texture is turned overor rotated before the image of each texture is arranged on the texturerecording image, and each texture is a triangular texture.
 2. A texturerecording method for recording a texture recording image containingimages of the number of textures in a memory to thereby record theimages of the number of textures in the memory, wherein a predeterminedtexture is transformed into a predetermined shape, and an image of thetransformed texture is arranged on the texture recording image, theimages of the number of textures are arranged on the texture recordingimage based on shape information of each texture such that a firstregion other than a second region, occupied by the images, is reduced onthe texture recording image, each texture is turned over or rotatedbefore the image of each texture is arranged on the texture recordingimage, and each texture is a triangular texture.
 3. The texturerecording method according to claim 1, wherein at least a part of animage of the number of textures is arranged overlapping with at least apart of an image of another texture having a larger area.
 4. The texturerecording method according to claim 1, wherein information is recordedin the first region, the information being determined based on pixelinformation of a texture arranged near the first region.
 5. The texturerecording method according to claim 1, wherein the texture recordingimage includes an image of a texture which expresses a part of amodeling object in the memory, and an image of a third region around thepart of the modeling object is recorded in a fourth region around theimage of the texture on the texture recording image.
 6. A readablemedium recording a texture recording image containing images of a numberof textures, wherein the images of the number of textures are arrangedon the texture recording image based on shape information of eachtexture such that a first region other than a second region, occupied bythe images, is reduced on the texture recording image, and each textureis a triangular texture.
 7. The readable medium according to claim 6,wherein an image of a texture transformed into a predetermined shape isrecorded on the texture recording image.
 8. The readable mediumaccording to claim 7, wherein at least a part of an image of the numberof textures is arranged overlapping with at least a part of an image ofanother texture having a larger area.
 9. A readable medium according toclaim 7, wherein information is recorded in the first region, theinformation being determined based on pixel information of a texturearranged near the first region.
 10. A readable medium recording atexture recording image containing images of a number of textures,wherein the images of the number of textures are arranged on the texturerecording image based on shape information of each texture such that afirst region other than a second region, occupied by the images, isreduced on the texture recording image, and each texture is a triangulartexture, and the texture recording image includes an image of a texturewhich expresses a part of a modeling object, and an image of a thirdregion around the part of the modeling object is recorded in a fourthregion around the image of the texture on the texture recording image.11. A readable medium having stored therein a program for causing acomputer to record a texture recording image containing images of anumber of textures in a memory to thereby record the images of thenumber of textures in the memory, wherein the program causes thecomputer to arrange the images of the number of textures on the texturerecording image based on shape information of each texture such that afirst region other than a second region, occupied by the images, isreduced on the texture recording image, and each texture is a triangulartexture.
 12. A readable medium having stored therein a program forcausing a computer to record a texture recording image containing imagesof a number of textures in a memory to thereby record the images of thenumber of textures in the memory, wherein the program causes thecomputer to transform a predetermined texture into a predetermined shapeso that an image of the transformed texture is arranged on the texturerecording image, wherein the textures on the texture recording image arearranged based on shape information of each texture such that a firstregion other than a second region, occupied by the images, is reduced onthe texture recording image, and each texture is a triangular texture.13. A readable medium having stored therein a program for causing acomputer to record a texture recording image containing images of anumber of textures in a memory to thereby record the images of thenumber of textures in the memory, wherein the program causes thecomputer to arrange the images of the number of textures on the texturerecording image based on shape information of each texture such that afirst region other than a second region, occupied by the images, isreduced on the texture recording image, and each texture is a triangulartexture, and the program causes the computer to arrange at least a partof an image of the number of textures overlapping with at least a partof an image of another texture having a larger area.
 14. A readablemedium having stored therein a program for causing a computer to recorda texture recording image containing images of a number of textures in amemory to thereby record the images of the number of textures in thememory, wherein the program causes the computer to arrange the images ofthe number of textures on the texture recording image based on shapeinformation of each texture such that a first region other than a secondregion, occupied by the images, is reduced on the texture recordingimage, and each texture is a triangular texture, and the program causesthe computer to record pixel information in a third region without beingoccupied by the images of the number of textures on the texturerecording image, the pixel information being based on pixel informationof a texture arranged near the third region.
 15. A readable mediumhaving stored therein a program for causing a computer to record atexture recording image containing images of a number of textures in amemory to thereby record the images of the number of textures in thememory, wherein the program causes the computer to arrange the images ofthe number of textures on the texture recording image based on shapeinformation of each texture such that a first region other than a secondregion, occupied by the images, is reduced on the texture recordingimage, and each texture is a triangular texture, and the texturerecording image includes an image of a texture which expresses a part ofa modeling object in a memory, and the program causes the computer torecord an image of a third region around the part of the modeling objectin a fourth region around the image of the texture on the texturerecording image.